Если вам захотелось автоматизировать рутинные задачи по управлению сетью - присмотритесь к Puppet
Почему и зачем?
В последние десятилетия развитие компьютерных сетей достигает небывалых масштабов. Рост крупных корпораций приводит к тому, что в отдельные сети объединяются сотни и тысячи машин, и это не считая глобальной сети. Темпы этого развития ускоряются с появлением новых программных продуктов, которые позволяют в разы ускорить процессы развертывания и обслуживания сети. Десятки тысяч операций, которые раньше выполнялись вручную, сейчас выполняются за считанные минуты в автоматическом режиме. Одним из таких программных решений стал продукт Puppet. В этой статье мы постараемся подробно осветить плюсы и минусы этой программы.
Что же такое Puppet? Как говорит нам Википедия, это кроссплатформенная система управления и конфигурирования операционных систем, построенная на основе клиент-серверной архитектуры. Если говорить проще - это и есть та самая программа, которая позволяет конфигурировать операционные системы для развертывания, управления и обновления компьютерных сетей на десятках, сотнях и тысячах удаленных машин. Под кроссплатформенностью в данном случае понимается то, что клиентская часть программы полностью совместима и корректно работает на широком спектре самых распространенных операционных систем, что позволяет объединять в единую сеть рабочие станции под Windows, CentOS и Debian. А теперь давайте рассмотрим плюсы и минусы Puppet - ведь не может же все быть прекрасно и красиво.
Кратко о светлых и положительных сторонах решения
- Автоматизация: как и говорилось выше Puppet позволяет автоматически конфигурировать операционные системы на удаленных машинах, что избавляет системного инженера десятки раз вручную одинаковым образом настраивать машины, выезжая на места. Можно возразить "а что мешает доверить эту работу нескольким специалистам?" Такой вариант тоже возможен, но это повлечет за собой дополнительные расходы, да и общая надежность системы сильно упадет, поскольку каждый специалист пишет код по-своему, из-за этого может пострадать совместимость.
- Скорость развертывания: автоматизация передачи и применения настроек не только экономит ресурсы пользователя, а еще и ускоряет процесс развертывания и обновления сети в десятки раз. Та работа, на которую ранее уходили дни и недели работы, сейчас выполняется за считанные минуты. Это позволяет разгрузить занятость сетевого инженера и высвободить его время для решения других задач - например, для разработки программного обеспечение или работы с клиентами.
- Кроссплатформенность: однозначным плюсом этого решения является поддержка различных операционных систем. На заре становления компьютерных сетей невозможность взаимодействия из-за конфликтов кода вынуждало корпорации применять одни и те же операционные системы на всех рабочих станциях компании, что снижало эффективность за счет узкой специализации ОС. Сейчас Puppet позволяет включать в общую сеть компьютеры под различными операционными системами, и обеспечивать их эффективное взаимодействие. Это позволяет увеличить общую эффективность деятельности компании в несколько раз
- Поддержка: программа достаточно проста в использовании. Однако, иногда возникают проблемы. Puppet имеет техническую поддержку, специалисты которой фиксируют обращения пользователей и работают над исправлением проблем. Продукт развивается непрерывно, поэтому каждая следующая версия работает все более эффективно.
- Общая безопасность системы: поскольку Puppet обновляет конфигурацию множества узлов системы параллельно, не составляет особых сложностей применить в конфигурировании клиентских операционных систем гибкие настройки безопасности. Это обеспечивает достаточно эффективную защиту данных от внешних угроз.
Вы спросите неужели всё так идеально? Добавим в описание ложку дегтя разберем минусы Puppet
- Квалификация администратора: обслуживание сети с помощью Puppet рекламируется как довольно простое. Однако, обслуживание крупных сетей всегда требует от администратора высокой квалификации и предельной внимательности. Если при составлении файла конфигурации допустить ошибку, и затем не проверить этот файл должным образом, можно одним махом "положить" несколько сотен серверов. Конечно, откат системы к предыдущей конфигурации настроек восстановит ее работу, но в современном бизнесе любая потеря времени чревата крупными убытками компании. Поэтому сетевой специалист должен быть ответственным и внимательным.
- Несовместимость с некоторыми версиями ОС: так себе минус, скажете вы. Ну кому сейчас потребуется совместимость с ранними версиями Windows NT? Однако, как показывает практика, кое-где такие сервера до сих пор успешно применяются. В основном, это актуально для небольших компаний с невысокой нагрузкой на сеть. Однако, принцип "работает и ладно" неприменим для современного бизнеса, в котором, чтобы оставаться на плаву, нужно непрерывно улучшать свой продукт.
- Уязвимость сервера Puppet: централизованное управление сетью может легко породить такую проблему. Безопасность сервера должна стоять превыше всего. Если злоумышленник получит доступ к серверу Puppet, то может сконфигурировать клиентские операционные системы так, как ему заблагорассудится. Например, отдать команды на шифрование данных, или же на их удаление. В этом случае убытки компании-пользователя не поддадутся исчислению. Эта проблема решается установкой современных механизмов защиты сервера от внешних угроз. Но, как известно, стоимость защиты информации не должна превышать стоимость самой информации, а значит здесь нужно руководствоваться в первую очередь здравым смыслом и пониманием базовых принципов информационной безопасности.
Очевидно, что плюсов больше, чем минусов - но решать всегда только вам. Опять же, Puppet - не единственный игрок подобного класса решений, и всегда имеет смысл посмотреть и попробовать все, что доступно на рынке - ведь вы никогда не ошибетесь, если поступите правильно :)